<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>

    <style>
        #tdAdd input{
            height: 100%;
            width: 100%;
            position: absolute;
            top: 0px;
            right: 0px;
            z-index: 100;
            filter: alpha(opacity = 0);
            -moz-opacity: 0;
            opacity: 0;
            outline: none;
            blr: expression(this.hideFocus = true);
            cursor: pointer;
            border: none;
        }


        #topicpics ul{
            list-style: none;
            padding: 0px;
            margin: 0px;
            -webkit-margin-before: 0px;
            -webkit-margin-after: 0px;
            width:100%;
            max-width:100%;
            height:auto;
        }

        #topicpics li {
            float:left;
            width:20%;
        }

        #topicpics .imgwrap{
            position: relative;
            /* min-height: 100px; */
            height: 100px;
            margin: 5px;
            text-align: center;
        }

        #topicpics .imgwrap > img{
            max-width: 100%;
            height: 100px;
            object-fit: cover;
            object-position: center;
        }
    </style>
</head>
<body>
<div id="topicpics" class="topic-pics">
    <ul>
        <li id="tdAdd">
            <div class="imgwrap" id="btnAdd">
                <img src="../../../../public/static/image/upload.png" >
                <input  type="file" id="file_input" multiple />
            </div>
        </li>

    </ul>
</div>
<script>
    var aaa = document.getElementById("btnAdd"); //获取显示图片的div元素
    var input = document.getElementById("file_input"); //获取选择图片的input元素
    var tdid = 1;
    //这边是判断本浏览器是否支持这个API。
    if(typeof FileReader==='undefined'){
        aaa.innerHTML = "抱歉，你的浏览器不支持 FileReader";
        input.setAttribute('disabled','disabled');
    }else{
        input.addEventListener('change',readFile,false); //如果支持就监听改变事件，一旦改变了就运行readFile函数。
    }


    function readFile(){
        for (var index = 0; index<this.files.length; index++){
            var file = this.files[index]; //获取file对象
            //判断file的类型是不是图片类型。
            if(!/image\/\w+/.test(file.type)){
                alert("文件必须为图片！");
                return false;
            }
        }
        for (var index = 0; index<this.files.length; index++){
            var file = this.files[index]; //获取file对象

            var reader = new FileReader(); //声明一个FileReader实例
            reader.readAsDataURL(file); //调用readAsDataURL方法来读取选中的图像文件
            //最后在onload事件中，获取到成功读取的文件内容，并以插入一个img节点的方式显示选中的图片
            reader.onload = function(e){
                tdid++;
                $('<li id=' + tdid + ' style="position:relative;"><div class="imgwrap">'
                    + '<img src="/static/image/lazy.gif" alt=""/><div class="bar mint active" style="position:absolute;width:80%;height:0.6rem;top:5px;left:5px;right:5px;" data-percent="100" ></div></div></li>').insertBefore($("#tdAdd"));
                var imageStr = this.result;
                /*延迟显示图片 模拟图片上传成功后的显示。
                 我这里就直接显示图片了。有兴趣的同学可以实现上传中的进度条效果。。
               */
                setTimeout(function(){
                    var td = $("#" + tdid);
                    td.html("<div class='imgwrap'><img src='" + e.target.result + "'/></div>");
                    var $closeImg = $('<img src="/static/image/cancel.png" style="position:absolute;top:5px;right:5px;width:20px;height:20px;">').appendTo(td);
                    //  $('<input type="hidden" name="imguuids" api="imgHidden" value="'+data.uuid+'"/>').appendTo(td);
                    $closeImg.click(function(){
                        $(this).closest("li").remove();
                    });
                }, 1000);

                 // 上传图片到后台返回并显示。
               /* $.ajax({
                    url: "/user/uploadThis",
                    type: "POST",
                    data: {tdid :tdid, imageStr:imageStr},
                    dataType: "json",
                    cache: false,
                    success: function(data) {
                        var rtntdid = data.tdid;
                        var td = $("#" + rtntdid);
                        td.html("<div api='imgwrap'><img src='" + data.medium + "'/></div>");
                        var $closeImg = $('<img src="../imgs/close_btn.png" style="position:absolute;top:5px;right:5px;width:20px;height:20px;">').appendTo(td);
                        $('<input type="hidden" name="imguuids" api="imgHidden" value="'+data.uuid+'"/>').appendTo(td);
                        $closeImg.click(function(){
                            $(this).closest("td").remove();
                        });
                    }
                });*/
            }
        }
    }
</script>
</body>
</html>
